/*
 * WOWCamera.h
 *
 *  Created on: 08.10.2012
 *      Author: caffeine
 */

#include <object/PositionObject.h>
#include "TPCAnim.h"

#ifndef WOWCAMERA_H_
#define WOWCAMERA_H_

/*
 * @class UserCamera
 * Класс отвечающий за работу камеры. Хранит в себе как сому камеру, так и центр камеры
 * */
class WOWCamera: public irr::scene::ISceneNode {
private:
	irr::scene::ICameraSceneNode*camera;
	irr::scene::TPCAnim*anim;
	irr::scene::ISceneNode*entity;
	irr::core::aabbox3df box;
	irr::f32 height;

public:
	WOWCamera(irr::scene::ISceneManager*manager,irr::scene::ISceneNode*parent=0);
	virtual ~WOWCamera();
	void setEntity(irr::scene::ISceneNode*e);
	irr::scene::ICameraSceneNode*getCamera();
	void updatePositionOfEntity();
	irr::scene::TPCAnim*getTPCAnimatior();
	virtual void OnRegisterSceneNode();
	virtual void render();
	virtual const irr::core::aabbox3df& getBoundingBox() const;
	virtual irr::u32 getMaterialCount() const;
	virtual irr::video::SMaterial& getMaterial(irr::u32 i);
	void setHeight(irr::f32 height);
	irr::f32 getHeight();
};


#endif /* WOWCAMERA_H_ */
